package br.edu.granbery.indianostore.action;

import java.io.IOException;
import java.util.logging.Level;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import br.edu.granbery.indianostore.controller.Action;
import br.edu.granbery.indianostore.dao.DaoFactory;
import br.edu.granbery.indianostore.dao.ProdutoDao;
import br.edu.granbery.indianostore.model.Produto;


public class DeletarProdutoAction implements Action {
	public void execute(HttpServletRequest request, HttpServletResponse response)
			throws IOException {
		String id = request.getParameter("id");
		HttpSession sessao = request.getSession(true);
		DaoFactory factory = (DaoFactory) sessao.getAttribute("factory");
		Produto produto = new Produto();
		ProdutoDao produtoDao = factory.getProdutoDao();
		produto = produtoDao.buscar(Integer.parseInt(id));
		factory.beginTransaction();
		if (produtoDao.remover(produto)) {
			request.setAttribute("sucess", "Produto deletado com sucesso.");
			factory.commit();
		}
		else{
			request.setAttribute("erro", "Erro ao deletar o produto.");
			if (factory.hasTransaction()) {
				factory.stopTransaction();
			}
		}
		try {
			produtoDao.destruir(produto);
			RequestDispatcher view = request
					.getRequestDispatcher("/View/Produto/GerenciarProduto.jsp");
			view.forward(request, response);
		} catch (ServletException ex1) {
		}

	}
}
